package com.brainhealth.customer.domain;

import com.brainhealth.common.enums.ExerciseType;
import com.brainhealth.common.enums.VideoType;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.brainhealth.common.annotation.Excel;
import com.brainhealth.common.core.domain.BaseEntity;

/**
 * 训练产品项目对象 exercise
 * 
 * @author wolong
 * @date 2023-05-09
 */
public class Exercise extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 训练项目主键 */
    private Long exerciseId;

    /** 关联训练产品主键 */
    @Excel(name = "关联训练产品主键")
    private Long exerciseProductId;

    /** 关联训练分类ID */
    @Excel(name = "关联训练分类ID")
    private Long exerciseCategoryId;
    /**
     * 训练分类名称
     */
    private String exerciseCategoryName;
    /**
     * 训练分类描述
     */
    private String exerciseCategoryDesc;

    /** 训练项目名称 */
    @Excel(name = "训练项目名称")
    private String name;

    /** 训练跳转连接地址 */
    @Excel(name = "训练跳转连接地址")
    private String url;

    /** 训练图片连接地址 */
    @Excel(name = "训练图片连接地址")
    private String pictureUrl;

    /** 训练项目类型(0游戏训练 1视频训练) */
    @Excel(name = "训练项目类型(0游戏训练 1视频训练)")
    private ExerciseType exerciseType;

    /** 训练项描述 */
    @Excel(name = "训练项描述")
    private String description;

    /** 训练次数排序 */
    @Excel(name = "训练次数排序")
    private Long countSort;

    /** 执行力 */
    @Excel(name = "执行力")
    private Long execute;

    /** 注意力 */
    @Excel(name = "注意力")
    private Long attention;

    /** 记忆力 */
    @Excel(name = "记忆力")
    private Long memory;

    /** 逻辑推理 */
    @Excel(name = "逻辑推理")
    private Long logic;

    /** 训练视频总时长 */
    @Excel(name = "训练视频总时长")
    private Long videoTime;

    /** 视频显示方式(0横屏 1竖屏) */
    @Excel(name = "视频显示方式(0横屏 1竖屏)")
    private VideoType videoType;

    /**
     * 游戏训练需要传递的难度
     */
    private Long difficulty;

    public void setExerciseId(Long exerciseId) 
    {
        this.exerciseId = exerciseId;
    }

    public String getExerciseCategoryName()
    {
        return exerciseCategoryName;
    }

    public void setExerciseCategoryName(String exerciseCategoryName)
    {
        this.exerciseCategoryName = exerciseCategoryName;
    }

    public String getExerciseCategoryDesc()
    {
        return exerciseCategoryDesc;
    }

    public void setExerciseCategoryDesc(String exerciseCategoryDesc)
    {
        this.exerciseCategoryDesc = exerciseCategoryDesc;
    }

    public Long getExerciseId()
    {
        return exerciseId;
    }
    public void setExerciseProductId(Long exerciseProductId) 
    {
        this.exerciseProductId = exerciseProductId;
    }

    public Long getExerciseProductId() 
    {
        return exerciseProductId;
    }
    public void setExerciseCategoryId(Long exerciseCategoryId) 
    {
        this.exerciseCategoryId = exerciseCategoryId;
    }

    public Long getExerciseCategoryId() 
    {
        return exerciseCategoryId;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setUrl(String url) 
    {
        this.url = url;
    }

    public String getUrl() 
    {
        return url;
    }
    public void setPictureUrl(String pictureUrl) 
    {
        this.pictureUrl = pictureUrl;
    }

    public String getPictureUrl() 
    {
        return pictureUrl;
    }

    public ExerciseType getExerciseType()
    {
        return exerciseType;
    }

    public void setExerciseType(ExerciseType exerciseType)
    {
        this.exerciseType = exerciseType;
    }

    public void setDescription(String description)
    {
        this.description = description;
    }

    public String getDescription() 
    {
        return description;
    }
    public void setCountSort(Long countSort) 
    {
        this.countSort = countSort;
    }

    public Long getCountSort() 
    {
        return countSort;
    }
    public void setExecute(Long execute) 
    {
        this.execute = execute;
    }

    public Long getExecute() 
    {
        return execute;
    }
    public void setAttention(Long attention) 
    {
        this.attention = attention;
    }

    public Long getAttention() 
    {
        return attention;
    }
    public void setMemory(Long memory) 
    {
        this.memory = memory;
    }

    public Long getMemory() 
    {
        return memory;
    }
    public void setLogic(Long logic) 
    {
        this.logic = logic;
    }

    public Long getLogic() 
    {
        return logic;
    }
    public void setVideoTime(Long videoTime) 
    {
        this.videoTime = videoTime;
    }

    public Long getVideoTime() 
    {
        return videoTime;
    }

    public VideoType getVideoType()
    {
        return videoType;
    }

    public void setVideoType(VideoType videoType)
    {
        this.videoType = videoType;
    }

    public Long getDifficulty()
    {
        return difficulty;
    }

    public void setDifficulty(Long difficulty)
    {
        this.difficulty = difficulty;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("exerciseId", getExerciseId())
            .append("exerciseProductId", getExerciseProductId())
            .append("exerciseCategoryId", getExerciseCategoryId())
            .append("name", getName())
            .append("url", getUrl())
            .append("pictureUrl", getPictureUrl())
            .append("exerciseType", getExerciseType())
            .append("description", getDescription())
            .append("countSort", getCountSort())
            .append("execute", getExecute())
            .append("attention", getAttention())
            .append("memory", getMemory())
            .append("logic", getLogic())
            .append("videoTime", getVideoTime())
            .append("videoType", getVideoType())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
